// $XKeyboardConfig$
// $Xorg: level5,v 1.3 2000/08/17 19:54:34 cpqbld Exp $

// Fairly complete set of symbol interpretations 
// to provide reasonable default behavior

// $XFree86: xc/programs/xkbcomp/compat/iso9995,v 1.3 2003/02/21 03:16:34 dawes Exp $

default partial xkb_compatibility "default"  {
    virtual_modifiers LevelFive;

    interpret.repeat= False;
    setMods.clearLocks= True;
    latchMods.clearLocks= True;
    latchMods.latchToLock= True;

    interpret ISO_Level5_Shift+Any {
	useModMapMods= level1;
	virtualModifier= LevelFive;
	action= SetMods(modifiers=LevelFive);
    };

    interpret ISO_Level5_Shift {
	action= SetMods(modifiers=LevelFive);
    };

    interpret ISO_Level5_Latch+Any {
	virtualModifier= LevelFive;
	action= LatchMods(modifiers=LevelFive);
    };

    interpret ISO_Level5_Latch {
	action= LatchMods(modifiers=LevelFive);
    };

    interpret ISO_Level5_Lock+Any {
	virtualModifier= LevelFive;
	action= LockMods(modifiers=LevelFive);
    };

    interpret ISO_Level5_Lock {
	action= LockMods(modifiers=LevelFive);
    };
};
partial xkb_compatibility "level5_lock"  {
	// This defines a Level5-Lock using the NumLock real modifier in order to
	// create arbitrary level-behaviour, which would not be possible with the
	// virtual modifier.
	// See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK
	// See also: symbols/level5(lock)
    virtual_modifiers NumLock;
    
    interpret ISO_Level5_Lock {
        action = LockMods(modifiers = NumLock);
    };
};
